package arrays

// IndexOfBy 查找元素值在切片中的索引位置
// 如果元素不存在，返回 -1
func IndexOfBy[T any](array []T, fn func(T, int, []T) bool) int {
	for i, v := range array {
		if fn(v, i, array) {
			return i
		}
	}
	return -1
}
